9.1 任务描述
前置任务:C4-007
业务模块:“统计”功能
实现“统计“功能。
任务类型:按步骤操作
9.2 详细实现步骤
统计中需要用户首先选择日期,当按下日期按钮后,弹出日期对话框,让用户选择日期,然后在查询该日期下收入和支出情况。
选择日期界面如下:
图 22 选择日期
选择完日期后,统计界面如下:
图 23“统计”功能
相关代码如下:
private void initStatisticsButton(){
View view=viewList.get(1);
Button button=(Button)view.findViewById(R.id.buttonDate);
final EditText editText=(EditText)view.findViewById(R.id.editTextDate);
final DatePickerDialog.OnDateSetListener listener=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int year, int month, int day) {
editText.setText(year+"-"+(++month)+"-"+day);
}
};
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar cal = Calendar.getInstance();
DatePickerDialog dialog=new DatePickerDialog(MainActivity.this, 0,listener,cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DATE));
dialog.show();
}
});
final TextView textViewEarning=view.findViewById(R.id.textviewEarnings);
final TextView textviewExpenditures=view.findViewById(R.id.textviewExpenditures);
Button buttonQuery=(Button)view.findViewById(R.id.buttonQuery);
buttonQuery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String date=editText.getText().toString();
textViewEarning.setText("收入:"+accountDatabase.getEarningByDate(date));
textviewExpenditures.setText("支出:"+accountDatabase.getExpenditureByDate(date));
}
});
}